home *** CD-ROM | disk | FTP | other *** search
/ Complete RPG Maker XP - 41 Games / tg esp 48 rpg maker.iso / RPG3D / Tools_Utilities / Quark.exe / Quark / addons / Half-Life / SwarmHL.qrk < prev    next >
Encoding:
Text File  |  2001-03-20  |  22.8 KB  |  497 lines

  1. QQRKSRC1
  2.  
  3. //$Header: /cvsroot/quark/runtime/addons/Half-Life/SwarmHL.qrk,v 1.3 2001/03/20 21:52:50 decker_dk Exp $
  4. // ----------- REVISION HISTORY ------------
  5. //$Log: SwarmHL.qrk,v $
  6. //Revision 1.3  2001/03/20 21:52:50  decker_dk
  7. //Added log-header
  8. //
  9.  
  10. {
  11.   // QuArK data add-on, made by decker@planetquake.com on request from "DarthBobo" <DarthBobo@swarm.edgegaming.com>
  12.   //
  13.   // http://www.planethalflife.com/swarm
  14.  
  15.   Description = "Swarm - Half-Life"
  16.  
  17.   SWM Entities.qtx =
  18.   {
  19.     ToolBox = "New map items..."
  20.     Root = "Swarm Entities.qtxfolder"
  21.  
  22.     // "<name>:incl" is templates (@baseclass)
  23.     t_orig_ang:incl = { origin="0 0 0" angle="360" }
  24.  
  25. //
  26. // Entity declarations, and default-values
  27. //
  28.     Swarm Entities.qtxfolder =
  29.     {
  30.           // "<classname>:e" is point-entities (@Pointclass)
  31.           // "<classname>:b" is brush-entities (@Solidclass)
  32.         Teams.qtxfolder =
  33.           {
  34.                 swarm_team_human:e = { t_orig_ang=! ;desc="Swarm Human Team"
  35.                         teamname = "Human"
  36.                         limit_hgrunt = "32"
  37.                         limit_hscientist = "32"
  38.                         limit_hcommander = "32"
  39.                         limit_hassassin = "32"
  40.                 }
  41.                 swarm_team_xen:e = { t_orig_ang=! ;desc="Swarm Xen Team"
  42.                         teamname = "Xen"
  43.                         limit_agrunt = "32"
  44.                         limit_acontroller = "32"
  45.                         limit_aslave = "32"
  46.                         limit_agarg = "3"
  47.                 }
  48.         }
  49.         Mission Ents.qtxfolder =
  50.         {
  51.                 swarm_map_data:e = { ;desc="Swarm Map Data"
  52.                         scenarioorder = "1"
  53.                         numrounds = "1"
  54.                 }
  55.                 swarm_scenario:e = { ;desc="Swarm Sceanrio"
  56.                         spawnflags = "2"
  57.                 }
  58.                 swarm_mission_destination:b = { ;desc="Swarm Mission Destination" ;incl="defpoly" }
  59.                 swarm_capture_mission:b = { ;desc="Swarm CTO Mission" ;incl="defpoly"
  60.                         model = "models/crystal.mdl"
  61.  
  62.                         stolenmessage = "%s stole the %s Crystal!"
  63.                         noise         = "vox/buzwarn.wav"
  64.                         stolenpitch   = "100"
  65.                         stolenvolume  = "1.0"
  66.  
  67.                         returnedmessage = "%s returned the %s Crystal!"
  68.                         noise1          = "vox/buzwarn.wav"
  69.                         returnedpitch   = "100"
  70.                         returnedvolume  = "1.0"
  71.  
  72.                         capturedmessage = "%s captured the %s Crystal!"
  73.                         noise2          = "vox/capture.wav"
  74.                         capturedpitch   = "100"
  75.                         capturedvolume  =  "1.0"
  76.  
  77.                         droppedmessage  = "%s dropped the %s Crystal!"
  78.                         noise3          = "vox/buzwarn.wav"
  79.                         droppedpitch    = "100"
  80.                         droppedvolume   = "1.0"
  81.                 }
  82.                 swarm_destroy_mission:e = { ;desc="Swarm DTO Mission"
  83.                         capturedmessage = "%s destroyed the %s Crystal!"
  84.                         noise2          = "vox/capture.wav"
  85.                         capturedpitch   = "100"
  86.                         capturedvolume  = "1.0"
  87.                 }
  88.                 swarm_escort_mission:e = { ;desc="Swarm ETP Mission"
  89.                         stolenmessage   = "Escort %s of the %s team!"
  90.                         noise           = "vox/buzwarn.wav"
  91.                         stolenpitch     = "100"
  92.                         stolenvolume    = "1.0"
  93.  
  94.                         capturedmessage = "%s of the %s escaped!"
  95.                         noise2          = "vox/capture.wav"
  96.                         capturedpitch   = "100"
  97.                         capturedvolume  = "1.0"
  98.  
  99.                         droppedmessage  = "%s of the %s was killed by %s of the %s!"
  100.                         noise3          = "vox/buzwarn.wav"
  101.                         droppedpitch    = "100"
  102.                         droppedvolume   = "1.0"
  103.                 }
  104.                 swarm_survive_mission:e = { ;desc="Swarm SUR Mission"
  105.                         capturedmessage = "The %s survived!"
  106.                         noise2          = "vox/capture.wav"
  107.                         capturedpitch   = "100"
  108.                         capturedvolume  = "1.0"
  109.  
  110.                         droppedmessage  = "The %s where eradicated!"
  111.                         noise3          = "vox/buzwarn.wav"
  112.                         droppedpitch    = "100"
  113.                         droppedvolume   = "1.0"
  114.                 }
  115.         }
  116.         Spawn Points.qtxfolder =
  117.         {
  118.                   swarm_spawn_point:e             = { t_orig_ang=! ;desc="Swarm Spawn Point" }
  119.  
  120. //                swarm_spawnpt_human:e           = { t_orig_ang=! ;desc="Generic Human Spawn" }
  121. //                swarm_spawnpt_hgrunt:e          = { t_orig_ang=! ;desc="Grunt Spawn"         }
  122. //                swarm_spawnpt_hassassin:e       = { t_orig_ang=! ;desc="Assassin Spawn"      }
  123. //                swarm_spawnpt_hscientist:e      = { t_orig_ang=! ;desc="Scientist Spawn"     }
  124. //                swarm_spawnpt_hcommander:e      = { t_orig_ang=! ;desc="Commander Spawn"     }
  125. //
  126. //                swarm_spawnpt_xen:e             = { t_orig_ang=! ;desc="Generic Xen Spawn" }
  127. //                swarm_spawnpt_atripod:e         = { t_orig_ang=! ;desc="Xen Grunt Spawn"   }
  128. //                swarm_spawnpt_agarg:e           = { t_orig_ang=! ;desc="Gargantua Spawn"   }
  129. //                swarm_spawnpt_aslave:e          = { t_orig_ang=! ;desc="Slave Spawn"       }
  130. //                swarm_spawnpt_acontroller:e     = { t_orig_ang=! ;desc="Controller Spawn"  }
  131.         }
  132.         Trigger.qtxfolder =
  133.         {
  134.                 swarm_trigger_regen:b = { ;desc="Trigger Regeneration" ;incl="defpoly"
  135.                         dmg             = "-10"
  136.                         delay           = "0"
  137.                         damagetype      = "8388608"
  138.                 }
  139.         }
  140.         Ammo Packs.qtxfolder =
  141.         {
  142.                 swarm_ammo_human_primary:e = { t_orig_ang=! ;desc="Human Primary Ammo"
  143.                         spawnflags = "15"
  144.                 }
  145.                 swarm_ammo_human_secondary:e = { t_orig_ang=! ;desc="Human Secondary Ammo"
  146.                         spawnflags = "511"
  147.                 }
  148.                 swarm_ammo_xen_primary:e = { t_orig_ang=! ;desc="Xen Primary Ammo"
  149.                         spawnflags = "1"
  150.                 }
  151.                 swarm_ammo_xen_secondary:e = { t_orig_ang=! ;desc="Xen Secondary Ammo"
  152.                         spawnflags = "3"
  153.                 }
  154.         }
  155.     }
  156.   }
  157.  
  158.   Entity forms.qctx =
  159.   {
  160. //
  161. // INCLs (Similar to WC's @BaseClass)
  162. //
  163.         t_targetname:incl       = { targetname: = { Txt="&" Hint="The name of this object, so others can 'target' it." } }
  164.         t_target:incl           = { target:     = { Txt="&" Hint="Target(s) to activate, when this object is triggered" } }
  165.         t_targetx:incl = {
  166.                 t_target = !
  167.                 delay: = { Txt="&" Hint="Delay before activating target(s)" }
  168.                 killtarget: = { txt="&" hint="KillTarget" }
  169.         }
  170.         t_Appearflags:incl = {
  171.                 spawnflags: = { typ="X2048" cap="Not in Deathmatch" hint="" }
  172.         }
  173.         t_Weapon:incl = {
  174.                 bbox = '-16 -16 0 16 16 32'
  175.                 t_targetname = !
  176.         }
  177.  
  178.         t_SwarmBase:incl = {
  179.                 // Which scenario this swarm entity belongs to.
  180.                 scenarioid: = { Txt="&" Typ="C" Hint="Scenario"}
  181.         }
  182.         t_SwarmTeam:incl = {
  183.                 t_SwarmBase = !
  184.                 // Associated Team
  185.                 teamname: = { Txt="&" Hint="Team Name" }
  186.         }
  187.         t_SwarmMission:incl = {
  188.                 t_targetname = !
  189.                 t_target = !
  190.                 t_SwarmTeam = !
  191.  
  192.                 spawnflags: = { typ="X1"  cap="End Round"         hint="Completing Mission will end round." }
  193.                 spawnflags: = { typ="X2"  cap="Start Off"         hint="Start Round Disabled." }
  194.                 spawnflags: = { typ="X4"  cap="Reset Counter"     hint="Completing Mission will reset counter." }
  195.                 spawnflags: = { typ="X8"  cap="Reset On Complete" hint="Reset Mission when destination reached." }
  196.                 spawnflags: = { typ="X16" cap="Auto Return"       hint="Automatically return object to start location when touched by player on objects team." }
  197.                 spawnflags: = { typ="X32" cap="Drop to Ground"       hint="Dropt to ground when spawning?" }
  198.  
  199.                 // Points to award team when mission is completed.
  200.                 teampoints: = { txt="&" hint="Team Points" }
  201.  
  202.                 // Bonus time for completing mission.
  203.                 timebonus: = { txt="&" hint="Time Bonus" }
  204.  
  205.                 // Which scenario this swarm entity belongs to.
  206.                 nextscenario: = { Txt="&" Typ="C" Hint="Next Scenario" }
  207.         }
  208.  
  209. //        t_SwarmSpawnPt:incl = {
  210. //                t_targetname = !
  211. //                t_SwarmTeam = !
  212. //
  213. //                spawnflags: = { typ="X1" cap="Allowed allied teams" hint="Allow teams to Ally"                                       }
  214. //                spawnflags: = { typ="X2" cap="Missions Only"        hint="Require a mission targeted at this spwan point to use it." }
  215. //        }
  216. //        t_SwarmHumanPt:incl = {
  217. //                t_SwarmSpawnPt = !
  218. //                bbox = '-16 -16 -36 16 16 36'
  219. //                teamname: = { txt="&" hint="Team Name" }
  220. //        }
  221. //        t_SwarmXenPt:incl = {
  222. //                t_SwarmSpawnPt = !
  223. //                teamname: = { txt="&" hint="Team Name" }
  224. //        }
  225.  
  226.  
  227. //
  228. // Forms
  229. //
  230.     swarm_team_human:form = {
  231.                 t_targetname = !
  232.                 teamname:               = { txt="&" hint="Team Name" }
  233.                 limit_hgrunt:           = { txt="&" hint="Max Grunts (0 = none)" }
  234.                 limit_hscientist:       = { txt="&" hint="Max Scientist (0 = none)" }
  235.                 limit_hcommander:       = { txt="&" hint="Max Commander (0 = none)" }
  236.                 limit_hassassin:        = { txt="&" hint="Max Assassin (0 = none)" }
  237.     }
  238.         swarm_team_xen:form = {
  239.                 t_targetname = !
  240.                 teamname:               = { txt="&" hint="Team Name" }
  241.                 limit_agrunt:           = { txt="&" hint="Max Grunts (0 = none)" }
  242.                 limit_acontroller:      = { txt="&" hint="Max Controllers (0 = none)" }
  243.                 limit_aslave:           = { txt="&" hint="Max Slaves (0 = none)" }
  244.                 limit_agarg:            = { txt="&" hint="Max Gargs (0 = none)" }
  245.     }
  246.         swarm_map_data:form = {
  247.                 // How will scenarios be sequenced
  248.                 scenarioorder: = { txt="&" typ="C" Hint="Order"
  249.                         items = "Sequential"
  250.                              $0D"Random"
  251.                              $0D"Ordered"
  252.                         values ="0"
  253.                              $0D"1"
  254.                              $0D"2"
  255.                 }
  256.  
  257.                 // | seperated list of scenario names.
  258.                 scenariosequence: = { txt="&" hint="Sequence" }
  259.  
  260.                 // Default number of rounds a scenarios will cycle.
  261.                 numrounds: = { txt="&" hint="Number Rounds Active" }
  262.         }
  263.         swarm_scenario:form = {
  264.                 t_SwarmBase = !
  265.  
  266.                 // How long a round will last, 0 is untimed.
  267.                 roundtime: = { txt="&" Hint="Round Time" }
  268.  
  269.                 // Number of rounds this scenario will cycle, over rides map data, unless 0.
  270.                 numrounds: = { txt="&" hint="Number Rounds Active" }
  271.  
  272.                 spawnflags: = { typ="X1" cap="Allow Respawn" hint="Allow players to respwawn before round has ended." }
  273.                 spawnflags: = { typ="X2" cap="Friendly AI"   hint="Monsters don't attack Players of same race." }
  274.         }
  275.         swarm_mission_destination:form = {
  276.                 t_SwarmTeam = !
  277.                 t_targetname = !
  278.                 t_target = !
  279.  
  280.                 spawnflags: = { typ="X1" cap="Kill Mission" hint="Kill any mission accepted by this destination" }
  281.                 spawnflags: = { typ="X2" cap="Start Off"    hint="Start Round Disabled" }
  282.         }
  283.         swarm_capture_mission:form = {
  284.                 t_SwarmMission = !
  285.  
  286.                 spawnflags: = { typ="X32" cap="Drop to Ground" hint="Dropt to ground when spawning?" }
  287.  
  288.                 // Model to use for object.
  289.                 model: = { txt="&" hint="Model" }
  290.  
  291.                 // Maximum message length is 64 characters, messages longer than this will be truncated.
  292.                 //Vars for when object is picked up by enemy. %s: 1 = player, 2 = team.
  293.                 stolenmessage:  = { txt="&" hint="Stolen Message"$0D"for when object is picked up by enemy. %s: 1 = player, 2 = team." }
  294.                 noise:          = { txt="&" hint="Stolen Sound"   }
  295.                 stolenpitch:    = { txt="&" hint="Stolen Pitch"   }
  296.                 stolenvolume:   = { txt="&" hint="Stolen Volume"  }
  297.  
  298.                 //Vars for when object is picked up by friend when not at original location. %s: 1 = player, 2 = team.
  299.                 returnedmessage: = { txt="&" hint="Returned Message"$0D"for when object is picked up by friend when not at original location. %s: 1 = player, 2 = team." }
  300.                 noise1:          = { txt="&" hint="Returned Sound"   }
  301.                 returnedpitch:   = { txt="&" hint="Returned Pitch"   }
  302.                 returnedvolume:  = { txt="&" hint="Returned Volume"  }
  303.  
  304.                 //Vars for when object arrives at destination. %s: 1 = player, 2 = team.
  305.                 capturedmessage: = { txt="&" hint="Captured Message"$0D"for when object arrives at destination. %s: 1 = player, 2 = team." }
  306.                 noise2:          = { txt="&" hint="Captured Sound"   }
  307.                 capturedpitch:   = { txt="&" hint="Captured Pitch"   }
  308.                 capturedvolume:  = { txt="&" hint="Captured Volume"  }
  309.  
  310.                 //Vars for when object is dropped up by enemy. %s: 1 = player, 2 = team.
  311.                 droppedmessage: = { txt="&" hint="Dropped Message"$0D"for when object is dropped up by enemy. %s: 1 = player, 2 = team." }
  312.                 noise3:         = { txt="&" hint="Dropped Sound"   }
  313.                 droppedpitch:   = { txt="&" hint="Dropped Pitch"   }
  314.                 droppedvolume:  = { txt="&" hint="Dropped Volume"  }
  315.         }
  316.         swarm_destroy_mission:form = {
  317.                 t_SwarmMission = !
  318.  
  319.                 // Maximum message length is 64 characters, messages longer than this will be truncated.
  320.                 //Vars for when object is destroyed. %s: 1 = player, 2 = team.
  321.                 capturedmessage: = { txt="&" hint="Destroyed Message"$0D"for when object is destroyed. %s: 1 = player, 2 = team." }
  322.                 noise2:          = { txt="&" hint="Destroyed Sound"   }
  323.                 capturedpitch:   = { txt="&" hint="Destroyed Pitch"   }
  324.                 capturedvolume:  = { txt="&" hint="Destroyed Volume"  }
  325.         }
  326.         swarm_escort_mission:form = {
  327.                 t_SwarmMission = !
  328.  
  329.                 // Limit choice of player to one class.
  330.                 escortclass: = { txt="&" typ="C"
  331.                         items ="Any"
  332.                             $0D"Human Grunt"
  333.                             $0D"Assassin"
  334.                             $0D"Scientist"
  335.                             $0D"Commander"
  336.                             $0D"Xen Grunt"
  337.                             $0D"Slave"
  338.                             $0D"Gargantua"
  339.                             $0D"Controller"
  340.                         values="0"
  341.                             $0D"1"
  342.                             $0D"2"
  343.                             $0D"3"
  344.                             $0D"4"
  345.                             $0D"5"
  346.                             $0D"6"
  347.                             $0D"7"
  348.                             $0D"8"
  349.                 }
  350.  
  351.                 // Spawn point the target can spawn at, "" for any.
  352.                 spawnpoint: = { txt="&" hint="Spawn Point" }
  353.  
  354.                 // Maximum message length is 64 characters, messages longer than this will be truncated.
  355.                 //Vars for when player to escort is Chosen. %s: 1 = player, 2 = team.
  356.                 stolenmessage:  = { txt="&" hint="Chosen Message"$0D"for when player to escort is Chosen. %s: 1 = player, 2 = team." }
  357.                 noise:          = { txt="&" hint="Chosen Sound"   }
  358.                 stolenpitch:    = { txt="&" hint="Chosen Pitch"   }
  359.                 stolenvolume:   = { txt="&" hint="Chosen Volume"  }
  360.  
  361.                 //Vars for when escorted player escapes. %s: 1 = player, 2 = team.
  362.                 capturedmessage: = { txt="&" hint="Escaped Message"$0D"for when escorted player escapes. %s: 1 = player, 2 = team." }
  363.                 noise2:          = { txt="&" hint="Escaped Sound"   }
  364.                 capturedpitch:   = { txt="&" hint="Escaped Pitch"   }
  365.                 capturedvolume:  = { txt="&" hint="Escaped Volume"  }
  366.  
  367.                 //Vars for when escorted player is killed. %s: 1 = escort player, escort 2 = team, 3 = attacking player, 4 = attacking team.
  368.                 droppedmessage: = { txt="&" hint="Killed Message"$0D"for when escorted player is killed. %s: 1 = escort player, escort 2 = team, 3 = attacking player, 4 = attacking team." }
  369.                 noise3:         = { txt="&" hint="Killed Sound"   }
  370.                 droppedpitch:   = { txt="&" hint="Killed Pitch"   }
  371.                 droppedvolume:  = { txt="&" hint="Killed Volume"  }
  372.         }
  373.         swarm_survive_mission:form = {
  374.                 t_SwarmMission = !
  375.  
  376.                 // Maximum message length is 64 characters, messages longer than this will be truncated.
  377.                 //Vars for when time is up. %s: 1 = team.
  378.                 capturedmessage: = { txt="&" hint="Survived Message"$0D"for when time is up. %s: 1 = team." }
  379.                 noise2:          = { txt="&" hint="Survived Sound"   }
  380.                 capturedpitch:   = { txt="&" hint="Survived Pitch"   }
  381.                 capturedvolume:  = { txt="&" hint="Survived Volume"  }
  382.  
  383.                 //Vars for when survive team is killed. %s: 1 = team.
  384.                 droppedmessage: = { txt="&" hint="Killed Message"$0D"for when survive team is killed. %s: 1 = team." }
  385.                 noise3:         = { txt="&" hint="Killed Sound"   }
  386.                 droppedpitch:   = { txt="&" hint="Killed Pitch"   }
  387.                 droppedvolume:  = { txt="&" hint="Killed Volume"  }
  388.         }
  389.  
  390.         swarm_spawn_point:form = {
  391.                 t_targetname = !
  392.                 t_SwarmTeam = !
  393.                 bbox = '-32 -32 -64 32 32 64'
  394.  
  395.                 spawnflags: = { typ="X1" cap="Allowed allied teams" hint="Allow teams to Ally"                                       }
  396.                 spawnflags: = { typ="X2" cap="Missions Only"        hint="Require a mission targeted at this spwan point to use it." }
  397.  
  398.                 // Limit choice of player to one class.
  399.                 escortclass: = { txt="&" typ="C"
  400.                         items ="Any"
  401.                             $0D"Human Grunt"
  402.                             $0D"Assassin"
  403.                             $0D"Scientist"
  404.                             $0D"Commander"
  405.                             $0D"Xen Grunt"
  406.                             $0D"Slave"
  407.                             $0D"Gargantua"
  408.                             $0D"Controller"
  409.                         values="0"
  410.                             $0D"1"
  411.                             $0D"2"
  412.                             $0D"3"
  413.                             $0D"4"
  414.                             $0D"5"
  415.                             $0D"6"
  416.                             $0D"7"
  417.                             $0D"8"
  418.                 }
  419.         }
  420.  
  421. //        swarm_spawnpt_human:form        = { t_SwarmHumanPt = ! }
  422. //        swarm_spawnpt_hgrunt:form       = { t_SwarmHumanPt = ! }
  423. //        swarm_spawnpt_hassassin:form    = { t_SwarmHumanPt = ! }
  424. //        swarm_spawnpt_hscientist:form   = { t_SwarmHumanPt = ! }
  425. //        swarm_spawnpt_hcommander:form   = { t_SwarmHumanPt = ! }
  426.  
  427. //        swarm_spawnpt_xen:form          = { t_SwarmXenPt = ! bbox = '-32 -32 -64 32 32 64' }
  428. //        swarm_spawnpt_atripod:form      = { t_SwarmXenPt = ! bbox = '-32 -32 -32 32 32 32' }
  429. //        swarm_spawnpt_agarg:form        = { t_SwarmXenPt = ! bbox = '-32 -32 -64 32 32 64' }
  430. //        swarm_spawnpt_aslave:form       = { t_SwarmXenPt = ! bbox = '-16 -16 -36 16 16 36' }
  431. //        swarm_spawnpt_acontroller:form  = { t_SwarmXenPt = ! bbox = '-32 -32 -32 32 32 32' }
  432.  
  433.         swarm_trigger_regen:form = {
  434.                 t_targetname = !
  435.                 t_target = !
  436.                 t_SwarmTeam = !
  437.  
  438.                 spawnflags: = { typ="X1"  cap="Target Once"     hint="" }
  439.                 spawnflags: = { typ="X2"  cap="Start Off"       hint="" }
  440.                 spawnflags: = { typ="X8"  cap="No clients"      hint="" }
  441.                 spawnflags: = { typ="X16" cap="FireClientOnly"  hint="" }
  442.                 spawnflags: = { typ="X32" cap="TouchClientOnly" hint="" }
  443.  
  444.                 master:     = { txt="&" hint="Master" }
  445.                 dmg:        = { txt="&" hint="Damage" }
  446.                 delay:      = { txt="&" hint="Delay before trigger" }
  447.                 damagetype: = { txt="&" typ="C"
  448.                         items = "REGENERATION"
  449.                         values = "8388608"
  450.                 }
  451.         }
  452.  
  453.         swarm_ammo_human_primary:form = {
  454.                 t_Weapon = !
  455.                 t_Targetx = !
  456.                 t_SwarmBase = !
  457.  
  458.                 spawnflags: = { typ="X1" cap="9mm Bullets"     hint="" }
  459.                 spawnflags: = { typ="X2" cap="Shoutgun Shells" hint="" }
  460.                 spawnflags: = { typ="X4" cap="Uranium"         hint="" }
  461.                 spawnflags: = { typ="X8" cap="Crossbow Bolts"  hint="" }
  462.         }
  463.         swarm_ammo_human_secondary:form = {
  464.                 t_Weapon = !
  465.                 t_Targetx = !
  466.                 t_SwarmBase = !
  467.  
  468.                 spawnflags: = { typ="X1"   cap="Handgrenades"    hint="" }
  469.                 spawnflags: = { typ="X2"   cap="Conc Grenades"   hint="" }
  470.                 spawnflags: = { typ="X4"   cap="Smoke Grenades"  hint="" }
  471.                 spawnflags: = { typ="X8"   cap="M203 Grenades"   hint="" }
  472.                 spawnflags: = { typ="X16"  cap="Health Needles"  hint="" }
  473.                 spawnflags: = { typ="X32"  cap="Proximity Mines" hint="" }
  474.                 spawnflags: = { typ="X64"  cap="C4"              hint="" }
  475.                 spawnflags: = { typ="X128" cap="Tripmines"       hint="" }
  476.                 spawnflags: = { typ="X256" cap="Adrenaline"      hint="" }
  477.         }
  478.  
  479.         swarm_ammo_xen_primary:form = {
  480.                 t_Weapon = !
  481.                 t_Targetx = !
  482.                 t_SwarmBase = !
  483.  
  484.                 spawnflags: = { typ="X1" cap="Bioelectric" hint="" }
  485.         }
  486.         swarm_ammo_xen_secondary:form = {
  487.                 t_Weapon = !
  488.                 t_Targetx = !
  489.                 t_SwarmBase = !
  490.  
  491.                 spawnflags: = { typ="X1" cap="Sonic Grenades" hint="" }
  492.                 spawnflags: = { typ="X2" cap="Snarks"         hint="" }
  493.         }
  494.  
  495.   }
  496. }
  497.